<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Apache HTTP Server Project</TITLE>
</HEAD>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Known Bugs in Apache</H1>

The most up-to-date resource for bug tracking and information is the
<A HREF="http://www.apache.org/bugdb.cgi">Apache bug database</A>.
Significant bugs at release time will also be noted there.
If you are running a 1.2 beta release or version 1.1.3 or earlier
and thing you have found a bug, please upgrade to 1.2. Many bugs
in early versions have been fixed in 1.2.

<P>See Also: <A HREF="compat_notes.html">Compatibility notes</A></P>
<HR>

<H2>Apache 1.2 Bugs</H2>

<OL><a name="listenbug"></a>
    <LI>On some architectures if your configuration uses multiple
    <a href="../mod/core.html#listen">Listen</a> directives then it is possible
    that the server will starve one of the sockets while serving hits on
    another.  The work-around is to add
    <code>-DUSE_FLOCK_SERIALIZED_ACCEPT</code> to the
    <code>EXTRA_CFLAGS</code> line in your Configuration and rebuild.
    (If you encounter problems with that, you can also try
    <code>-DUSE_FCNTL_SERIALIZED_ACCEPT</code>.)
    This affects any architecture that doesn't use one of the
    <code>USE_xxxxx_SERIALIZED_ACCEPT</code> definitions, see the
    source file <code>conf.h</code> for your architecture.
    This will be tracked as
    <a href="http://www.apache.org/bugdb.cgi/full/467">PR#467</a>.
    </LI>

    <a name="cnegbug"></a>
    <LI>Apache's <A HREF="../content-negotiation.html">Content
    Negotiation</A> should pick the smallest variant if there
    are several that are equally acceptable. A bug in 1.2 means it no
    longer does this unless all the variants have character sets. 
    This <A HREF="../../dist/contrib/patches/1.2/conneg-bug.patch">patch</A>
    fixes this problem. It also fixes the problem which makes Apache
    pick the last equally acceptable variant instead of the first.
    This will be tracked as
    <a href="http://www.apache.org/bugdb.cgi/full/94">PR#94</a>.
    </LI>

    <LI>
    The PATH_INFO part of a request URI cannot include the sequence
    <CODE>%2f</CODE>. This will be tracked as 
    <A HREF="http://www.apache.org/bugdb.cgi/full/543">PR#543</A>.
    </LI>

    <LI>Users of early 1.2 betas reported problems with many
    connections stuck in the FIN_WAIT_2 state due to server
    timeouts. Several changes were made during the beta testing of 1.2
    to reduce this problem as much as possible, although you may still
    see sockets in FIN_WAIT_2 state due to network or operating system
    issues outside the control of Apache. See our <A
    HREF="fin_wait_2.html">FIN_WAIT_2</A> page for more details.
    </LI>

    <LI>Compilation fails on SCO3 when using gcc instead of cc, complaining
    with "<CODE>gcc: noinline: No such file or directory</CODE>". Fix
    is given in <a href="http://www.apache.org/bugdb.cgi/full/695">PR#695</A>.
    </LI>

    <LI>If compilation fails complaining about "unknown symbol __inet_ntoa()"
    then you have probably installed version 8 of bind. You will need to
    explicitly link with the bind library by adding <CODE>-lbind</CODE> 
    to <CODE>EXTRA_LFLAGS</CODE> in <CODE>Configuration</CODE>. See
    <A HREF="http://www.apache.org/bugdb.cgi/full/616">PR#616</A>
    and the 
    <A HREF="http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#bind8.1">Apache FAQ</A>.
    </LI>

    <LI>The message "<CODE>created shared memory segment #730499</CODE>"
    in error_log is not an error and should be ignored. See 
    <a href="http://www.apache.org/bugdb.cgi/full/696">PR#696</A>.
    </LI>

    <LI>
    Compiling on Solaris 2 with SunSoft's C compiler gives the warning
    <CODE>"mod_include.c", line 1123: warning: end-of-loop code not
    reached</CODE>. This is a bogus warning and can be ignored.
    See <A HREF="http://www.apache.org/bugdb.cgi/full/681">PR#681</A>.
    </LI>

    <LI>
    There appears to be a problem on BSDI 2.1 with large numbers of
    virtual hosts. This appears similar to a file-descriptor limit
    but BSDI should not have this problem. This will be tracked as
    <A HREF="http://www.apache.org/bugdb.cgi/full/611">PR#611</A>.
    See also the 
    <A HREF="http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#fdlim">Apache
    FAQ</A>. 
    </LI>

    <LI>
    Solaris 2 has problems with large numbers of virtual hosts. This is
    because of an operating system limit of 256 file pointers, not due
    to Apache. 
    See also the 
    <A HREF="http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#fdlim">Apache
    FAQ</A>.
    </LI>

</OL>

<!--#include virtual="footer.html" -->
</BODY>
</HTML>

